package xxl.robotlegs.bundles.mvcs 
{
	import xxl.robotlegs.extensions.contextsignal.ContextSignalExtension;
	import xxl.robotlegs.extensions.contextview.ContextViewExtension;
	import xxl.robotlegs.extensions.contextview.impl.ContextViewListenerConfig;
	import xxl.robotlegs.extensions.contextview.StageSyncExtension;
	import xxl.robotlegs.extensions.directcommandmap.DirectCommandMapExtension;
	import xxl.robotlegs.extensions.enhancedlogging.InjectableLoggerExtension;
	import xxl.robotlegs.extensions.enhancedlogging.TraceLoggingExtension;
	import xxl.robotlegs.extensions.localsignalmap.LocalSignalMapExtension;
	import xxl.robotlegs.extensions.mediatormap.MediatorMapExtension;
	import xxl.robotlegs.extensions.modularity.ModularityExtension;
	import xxl.robotlegs.extensions.signalcommandmap.SignalCommandMapExtension;
	import xxl.robotlegs.extensions.viewmanager.StageCrawlerExtension;
	import xxl.robotlegs.extensions.viewmanager.StageObserverExtension;
	import xxl.robotlegs.extensions.viewmanager.ViewManagerExtension;
	import xxl.robotlegs.extensions.viewprocessormap.ViewProcessorMapExtension;
	import xxl.robotlegs.extensions.vigilance.VigilanceExtension;
	import xxl.robotlegs.framework.api.IBundle;
	import xxl.robotlegs.framework.api.IContext;
	import xxl.robotlegs.framework.impl.log.LogLevel;
	
	/**
	 * ...
	 * @author XXL
	 */
	public class MVCSBundle implements IBundle 
	{
		
		public function MVCSBundle() 
		{
			
		}
		
		/* INTERFACE xxl.robotlegs.framework.api.IBundle */
		
		public function extend(context:IContext):void 
		{
			context.logLevel = LogLevel.DEBUG;
			context.install(
				TraceLoggingExtension
				,InjectableLoggerExtension
				,VigilanceExtension
				,ContextViewExtension
				,ContextSignalExtension
				,ModularityExtension
				,DirectCommandMapExtension
				,SignalCommandMapExtension
				,LocalSignalMapExtension
				,ViewManagerExtension
				,StageObserverExtension
				,MediatorMapExtension
				,ViewProcessorMapExtension
				,StageCrawlerExtension
				,StageSyncExtension
				);
			context.configure(ContextViewListenerConfig);
		}
		
	}

}